/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.coopeud.persistencia.dao;

import edu.coopeud.persistencia.GestorConexion;
import edu.coopeud.persistencia.model.Evento;
import edu.coopeud.persistencia.model.Persona;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

/**
 *
 * @author Usuario
 */
public class PersonaDao {
    
    private SqlSessionFactory sqlSessionFactory;
    
    private static PersonaDao instanciaPersonaDao;

    private PersonaDao() {
        GestorConexion gestorConexion = GestorConexion.getInstanciaGestorConexion();
        sqlSessionFactory = gestorConexion.getSqlSessionFactory();
    }
    
       
    public static PersonaDao getInstanciaPersonaDao(){
        
        if(instanciaPersonaDao == null){
            instanciaPersonaDao = new PersonaDao();
        }
        
        return instanciaPersonaDao;
    }
    
    public List<Persona> obtenerPersonas(){
        
        SqlSession session = sqlSessionFactory.openSession();  
        List<Persona> personas = null;
        
        try {
            personas = session.selectList("edu.coopeud.persistencia.data.PersonaMapper.obtenerPersonas");
        } catch (Exception e) {
            System.out.println(e);
        } finally {
            session.close();
        }
        
        return personas;
        
    }
        
    public int crearPersona(Persona persona){
    
        SqlSession session = sqlSessionFactory.openSession();
        int respuesta = 0;
                
        try {            
            respuesta = session.insert("edu.coopeud.persistencia.data.PersonaMapper.crearPersona", persona);
            session.commit();
        } catch (Exception e) {
            System.out.println(e);
        } finally {
            session.close();
        }              
       
        return respuesta;
        
    }
    
}
